#ifndef AI9_LOGIC_2017_ABSTRACTACTMAKER_H
#define AI9_LOGIC_2017_ABSTRACTACTMAKER_H

#include <sdk/sdk.h>


template <typename... Types>
class AbstractActMaker {

public:
    explicit AbstractActMaker() = default;
    virtual bool getCommand(Types... args) = 0;
};

template <typename... Types>
class NullActMaker: public AbstractActMaker<Types...>{
public:
    NullActMaker(): AbstractActMaker<Types...>(){}
    inline virtual bool getCommand(Types... args) override{
        return true;
    }
};

#endif //AI9_LOGIC_2017_ABSTRACTACTMAKER_H
